透過昨天的資料及,可以先統計成統計圖方便理解,也可以找出特徵歸納究竟哪一種條件的人們生存機率最高。
除此之外,也可以更方便篩選出要放入訓練的樣目,以及可以刪除避免影響訓練的。
1.存活率
total_data['survived'].value_counts().plot.pie(autopct='%1.2f%%', colors=['c', 'y'])
2.接下來,我比較好奇的是傖等對於存活率會不會有影響
可以藉由統計三個艙等,和他們其中生存的人數來得到這個資訊
print(total_data.groupby(['pclass'])['survived'].agg(['count', 'mean']))
custom_palette = ["#84C1FF", "#D3A4FF"]
plt.figure(figsize=(20, 10))
sns.countplot(x='pclass', hue='survived', data=total_data, palette=custom_palette)
plt.title('pclass and survived')
雖然可以發現存活人數差異不大,但艙等最高的存活佔總數的一半,而艙等最低的存活人數只有四分之一。
3.接著,我發現同一艙等會有不同價格,因此和可以再看看是不是花比較多錢購買船票可以有比較好的保障。
def pclass_category(df, pclass1_mean, pclass2_mean, pclass3_mean):
if df['pclass'] == 1:
if df['fare'] <= pclass1_mean:
return 'Pclass1_Low'
else:
return 'Pclass1_High'
...
Pclass_mean = total_data['fare'].groupby(by=total_data['pclass']).mean()
Pclass1_mean = Pclass_mean[1]
...
total_data['pclass_Fare_Category'] = total_data.apply(pclass_category, args=(
Pclass1_mean, Pclass2_mean, Pclass3_mean), axis=1)
可以將同一艙等中分成高於平均、低於平均的票價來看,可以看到票價對存活率真的會有影響,尤其是在中等的船艙中。